1. Field of the Invention
The present invention relates to an ATM (asynchronous transfer mode) communication apparatus realizing the function of converting ATM cells into an IP (internet protocol) packet adapted to a communication protocol of a computer network such as LAN (local area network), and the function of converting the IP packet into the ATM cells.
2. Description of Related Art
In an ATM communication network, a communication protocol for transmitting data is constituted of a plurality of layers, each of which has an inherent function. One layer is realized by utilizing the function of a layer inferior to the first named layer by one layer.
Of the plurality of layers, a low level layer which is the most remote layer from a user""s side, includes a physical layer, an ATM layer and ATM adaptation layer.
The physical layer is a layer for providing a resource for transferring an ATM cell which is a unit of information transmission, and specifically, executes generation of a signal format suitable to a transmission medium, receiving of a signal, an encoding, or generation and elimination of a transmission frame. Furthermore, the physical layer checks whether or not the information included in the cell is effective, and transfers the cell carrying the effective information (effective cell) to the ATM layer.
The ATM layer is a layer superior to the physical layer by one layer, and executes a multiplexing and a separation of cells and generation and extraction of an ATM header indicating the destination of the ATM cell.
The ATM adaptation layer is positioned between the ATM layer and a layer superior to the ATM layer, and has the function of segmentation and reassembly of the ATM cell and of verifying the correctness of the ATM cell to inform the result of the verification to the superior layer.
The ATM cell includes in an ATM header a label for identifying a virtual channel (VC) or a virtual path (VP) to which the ATM cell itself belongs. This label is constituted of a virtual channel identifier (VCI) or a virtual path identifier (VPI), and an individual VC is unambiguously identified by a combination of VPI and VCI. In the following, the number given to a respective VC is called a VC number (VC No.)
On the other hand, it has been known to use a router as a technology for connecting an internet to a small scaled computer network such as SOHO (small office home office). Here, if the internet is the ATM communication network and the computer network is an ethernet, the router includes, in addition to the above mentioned functions of the physical layer, the ATM layer and the ATM adaptation layer, the function of converting ATM cells sent from the ATM communication network, into an IP (internet protocol) packet adapted to a communication protocol of the computer network, and the function of converting the IP packet sent from the computer network, into the ATM cells.
In the following, the ATM communication apparatus realizing the function of converting the ATM cells into the IP packet and the IP packet into the ATM cells, will be described with reference to the router as one example.
FIG. 5 is a block diagram showing the construction of the router which is one example of the prior art ATM communication apparatus. FIG. 6 is a table illustrating one example of the construction of the lookup table provided in a sending/receiving controller shown in FIG. 5. FIG. 7 is a diagram illustrating the relation between the IP packet and the ATM cells.
Referring to FIG. 5, the prior art router includes a SAR (segmentation and reassembly) module 11 for executing the processing of a low level layer, a CPU 12 for executing segmentation and reassembly of the IP packet and the processing of a high level layer, a memory 13 for temporarily storing data used in the processing of the CPU 12, a first ethernet interface 141 and a second ethernet interface 142 which are an interface circuit for sending data to a network (ethernet) and receiving data from the network (ethernet), an ATM25 interface 143 which is an interface circuit for sending data to a network of the ATM25 specification and receiving data from the network of the ATM25 specification, and a recording medium 15 storing a processing program executed in the CPU 12.
Here, the SAR module 11, the CPU 12, the memory 13, the first ethernet interface 141, the second ethernet interface 142, the ATM25 interface 143, the recording medium 15 are connected to an I/O bus 16 which is a data transfer medium. Incidentally, the first ethernet interface 141, the second ethernet interface 142, the ATM25 interface 143 are provided dependently upon the network to which the router is connected, and therefore, it is not limited to this construction.
The SAR module 11 includes a physical interface 17 which is an interface circuit for sending data to the ATM communication network and receiving data from the ATM communication network, a sending/receiving controller 18 for executing the proceedings of the ATM layer and the ATM adaptation layer, and a bridge 19 which is an interface circuit for sending data to the CPU and receiving data from the CPU.
The sending/receiving controller 18 includes a lookup table for recording the relation between VCI/VPI and the VC number used in the router (see FIG. 6) and a VC table recording the VC number, the address of a memory region for storing the data of the received ATM cell and IP packet, and VC associated data, such as the number of ATM cells and the packet length.
Incidentally, as shown in FIG. 7, the ATM cell which becomes a heading cell of the IP packet (simply called a xe2x80x9cheading cellxe2x80x9d hereinafter), includes an IP header composed of the destination information of the IP packet itself, control information, etc. On the other hand, the ATM cell which becomes a last cell of the IP packet (simply called a xe2x80x9clast cellxe2x80x9d hereinafter), includes a trailer composed of the packet length information of the IP packet itself, error check information, etc.
Now, an operation of the prior art router mentioned above will be described with reference to FIG. 8 and FIG. 9. FIG. 8 is a flow chart illustrating the processing procedures of the router shown in FIG. 5 for converting the ATM cells to the IP packet, and FIG. 9 is a flow chart illustrating the processing procedures of the router shown in FIG. 5 for converting the IP packet to the ATM cells.
In the processing procedures shown in FIG. 8 for converting the ATM cells to the IP packet, if the sending/receiving controller 18 in the SAR module 11 receives the ATM cell through the physical interface 17, the sending/receiving controller 18 analyzes the content of the ATM header (step S21), and discriminates whether or not the received ATM is the heading cell of the IP packet (step S22).
If the received ATM is the heading cell of the IP packet, the sending/receiving controller 18 reserves, in the memory 13, a predetermined amount of memory region for storing the data of the ATM cell which constitutes the IP packet (step S23). If the received ATM is not the heading cell of the IP packet, the processing of the step S23 is not executed, and the processing goes into a next processing (step S24).
In the step S24, the sending/receiving controller 18 refers to the lookup table, and obtain the VC number corresponding to VCI/VPI of the received ATM cell, and further, refers to the VC table on the basis of the obtained VC number, and write the data of the received ATM into the memory region reserved in the step S23. When the received ATM is the heading cell of the IP packet, the data is written from the heading address of the reserved memory region. The address of the memory region is recorded in the VC table as the data corresponding to the VC number. After the data of the ATM cell has been written, the address of this memory region is updated to a succeeding address. On the other hand, when the received ATM is not the heading cell of the IP packet, the data of the received ATM is written from the memory region address recorded in the VC table (the updated address).
Next, the sending/receiving controller 18 analyzes the ATM header of the received ATM cell, again, and discriminates whether or not the received ATM is the last cell of the IP packet (step S25). When the received ATM cell is not the last cell of the IP packet, the processing is ended without executing succeeding steps S26 and S27.
When the received ATM is the last cell of the IP packet, the receiving processing of the last cell such as the freeing of the memory region which has been used, is executed (step S26), and then, completion of reception of the ATM cells constituting the IP packet is notified to the CPU 12 (step S27).
When the CPU 12 receives the notification of the completion of reception of the ATM cells, the CPU 12 reassembles the IP packet by using the data of the ATM cells stored in the memory 13, and analyzes the content of the IP header included in the heading cell (step S28) so as to discriminate the destination. Furthermore, the CPU 12 sends the IP packet through the internet interface corresponding to the destination, of the first internet interface 141 and the second internet interface 142.
In the step 28, if the result of the analysis of the content of the IP header included in the heading cell indicates that the destination of the ATM cell is xe2x80x9cATM25xe2x80x9d, the CPU 12 does not reassemble the IP packet, and transfers the ATM cell to the ATM25 interface 143 as it is.
Next, the procedures for converting the received IP packet to the ATM cells will be described with reference to FIG. 9.
In the procedures illustrated in FIG. 9, if the sending/receiving controller 18 in the SAR module 11 receives the IP packet through the first internet interface 141 or the second internet interface 142, the sending/receiving controller 18 notifies reception of the IP packet to the CPU 12 (step S31).
If the CPU 12 receives the notification of reception of the IP packet, the CPU 12 reserves a predetermined amount of memory region in the memory 13, and transfers the data of the received IP packet to the reserved memory region (step S32). Furthermore, the CPU 12 analyzes the content of the IP header of the received IP packet (step S33), and sets the connection information in the VC table provided in the SAR module 11 (step S34). Here, as the connection information, the IP address indicating the destination of the IP packet, the VC number, the VCI/VPI relation to be given in an ATM cell, are recorded.
After the processing of the step S34 by the CPU is completed, the sending/receiving controller 18 reads out data of the amount corresponding to one cell, from the memory region storing the data of the IP packet (step S35), and generates one ATM cell by using the read-out data (step S36). At this time, an ATM header is given to the ATM cell, by using the VCI/VPI value obtained by referring to the VC table.
Thereafter, the sending/receiving controller 18 sends the generated ATM cell through the physical interface 17 to the ATM communication network (step S37), and discriminates whether or not the sent ATM cell is the last cell of the IP packet (step S38). If the sent ATM cell is not the last cell of the IP packet, the processing returns to the step S37, so that the processing of the steps S35-S37 is repeated. If the sent ATM cell is the last cell of the IP packet, the processing is ended.
Incidentally, when the ATM cell is received through the ATM25 interface 143, the received ATM cell is transferred through the physical interface 17 to the ATM communication network as it is.
Since the SAR module provided in the prior art ATM communication apparatus mentioned above performs only the processing of the low level layer, all of the received ATM cells and IP packet are transferred to the CPU so that the IP packet is reassembled and segmented in the CPU. At this time, the segmentation and reassembly of the IP packet is executed by the CPU in accordance with a program recorded in the recording medium. However, since the CPU executes the processing of a high level layer in addition to the segmentation and reassembly of the IP packet, it is a problem that the throughput from the reception of the ATM cell to the output of the IP packet and the throughput from the reception of the IP packet to the output of the ATM cell becomes slow.
In the prior art ATM communication apparatus, furthermore, the data of all of the received ATM cells is transferred from the SAR module to the memory and after the IP packet has been reassembled, the IP packet is transferred from the CPU to the ethernet interface. Therefore, data is transferred through the I/O bus two times. In addition, the data of the received IP packet is transferred to the memory, and data is transferred from the memory to the SAR module, one cell by one cell. In this case, therefore, data is transferred through the I/O bus two time, similarly to the case of receiving the ATM cells. Accordingly, it is also a problem that the data transfer rate becomes low because of congestion of data on the I/O bus.
Accordingly, it is an object of the present invention to provide an ATM communication apparatus which has overcome the above mentioned problems of the prior art.
Another object of the present invention is to provide an ATM communication apparatus, capable of elevating the throughput from the receipt of the ATM cells to the output of the IP packet and from the receipt of the IP packet to the output of the ATM cells.
The above and other objects of the present invention are achieved in accordance with the present invention by a method for controlling an ATM communication apparatus including an SAR module for executing the processing of a low level layer in an ATM communication network, and a processing unit for executing the processing of a high level layer in the ATM communication network, for the purpose of realizing the function of converting an ATM cell which is a unit of information transmission in the ATM communication network, into an IP packet adapted to a communication protocol of a computer network, and the function of converting the IP packet to ATM cells, the method comprising, by action of the SAR module, the step of holding data of a received ATM cell and data indicating the relation between VCI/VPI of the received ATM cell and a destination of the received ATM cell, the step of transferring, when the received ATM cell is a heading cell of ATM cells constituting the IP packet, data of the heading cell to the processing unit, the step of reassembling the IP packet by using the held data of the received ATM cells, and determining the destination of the IP packet thus reassembled, on the basis of the data indicating the relation between the VCI/VPI of the received ATM cell and the destination of the received ATM cell, and by action of the processing unit, the step of causing the SAR module to hold the data indicating the relation between the VCI/VPI of the received ATM cell and the destination of the received ATM cell, from the data of the heading cell.
According to another aspect of the present invention, there is provided a method for controlling an ATM communication apparatus including an SAR module for executing the processing of a low level layer in an ATM communication network, and a processing unit for executing the processing of a high level layer in the ATM communication network, for the purpose of realizing the function of converting an ATM cell which is a unit of information transmission in the ATM communication network, into an IP packet adapted to a communication protocol of a computer network, and the function of converting the IP packet to ATM cells, the method comprising, by action of the SAR module, the step of holding data of a received IP packet, and data indicating the relation between an IP address indicating a destination of the received IP packet and VCI/VPI of ATM cells constituting the received IP packet, the step of generating an ATM cell by using the data of the received IP packet, and giving a header to the ATM cell thus generated, on the basis of the data indicating the relation between the IP address and the VCI/VPI, and by action of the processing unit, the step of causing the SAR module to previously hold the data indicating the relation between the IP address and the VCI/VPI, before sending the ATM cell to the ATM communication network.
According to still another aspect of the present invention, there is provided an ATM communication apparatus including an SAR module for executing the processing of a low level layer in an ATM communication network, and a processing unit for executing the processing of a high level layer in the ATM communication network, for the purpose of realizing the function of converting an ATM cell which is a unit of information transmission in the ATM communication network, into an IP packet adapted to a communication protocol of a computer network, and the function of converting the IP packet to ATM cells, wherein the SAR module includes a cell buffer for temporarily holding data of a received ATM cell, a lookup table for holding data indicating the relation between VCI/VPI of the received ATM cell and a destination of the received ATM cell, and a sending/receiving controller for transferring, when the received ATM cell is a heading cell of ATM cells constituting the IP packet, data of the heading cell to the processing unit, and reassembling the IP packet by using the data of the received ATM cells held in the cell buffer, and determining the destination of the IP packet thus reassembled, by referring to the lookup table, and wherein the processing unit causes the lookup table to hold the data indicating the relation between the VCI/VPI of the received ATM cell and the destination of the received ATM cell, from the data of the heading cell.
According to a further aspect of the present invention, there is provided an ATM communication apparatus including an SAR module for executing the processing of a low level layer in an ATM communication network, and a processing unit for executing the processing of a high level layer in the ATM communication network, for the purpose of realizing the function of converting an ATM cell which is a unit of information transmission in the ATM communication network, into an IP packet adapted to a communication protocol of a computer network, and the function of converting the IP packet to ATM cells, wherein the SAR module includes a cell buffer for temporarily holding data of a received IP packet, a VC table holding data indicating the relation between an IP address indicating a destination of the received IP packet and VCI/VPI of ATM cells constituting the received IP packet, and a sending/receiving controller for generating an ATM cell by using the data of the received IP packet held in the cell buffer, and giving a header to the ATM cell thus generated, by referring to the VC table, and wherein the processing unit causes the VC table to previously hold the data indicating the relation between the IP address and the VCI/VPI, before sending the ATM cell to the ATM communication network.
According to a still further aspect of the present invention, there is provided a recording medium storing a program to be executed by an ATM communication apparatus including an SAR module for executing the processing of a low level layer in an ATM communication network, and a processing unit for executing the processing of a high level layer in the ATM communication network, for the purpose of realizing the function of converting an ATM cell which is a unit of information transmission in the ATM communication network, into an IP packet adapted to a communication protocol of a computer network, and the function of converting the IP packet to ATM cells, wherein the program controls the SAR module to hold data of a received ATM cell and data indicating the relation between VCI/VPI of the received ATM cell and a destination of the received ATM cell, to transfer, when the received ATM cell is a heading cell of ATM cells constituting the IP packet, data of the heading cell to the processing unit, to reassemble the IP packet by using the held data of the received ATM cells, and to determine the destination of the IP packet thus reassembled, on the basis of the data indicating the relation between the VCI/VPI of the received ATM cell and the destination of the received ATM cell, and wherein the program controls the processing unit to cause the SAR module to hold the data indicating the relation between the VCI/VPI of the received ATM cell and the destination of the received ATM cell, from the data of the heading cell.
According to a further aspect of the present invention, there is provided a recording medium storing a program to be executed by an ATM communication apparatus including an SAR module for executing the processing of a low level layer in an ATM communication network, and a processing unit for executing the processing of a high level layer in the ATM communication network, for the purpose of realizing the function of converting an ATM cell which is a unit of information transmission in the ATM communication network, into an IP packet adapted to a communication protocol of a computer network, and the function of converting the IP packet to ATM cells, wherein the program controls the SAR module to hold data of a received IP packet, and data indicating the relation between an IP address indicating a destination of the received IP packet and VCI/VPI of ATM cells constituting the received IP packet, to generate an ATM cell by using the data of the received IP packet, and to give a header to the ATM cell thus generated, on the basis of the data indicating the relation between the IP address and the VCI/VPI, and wherein the program controls the processing unit to cause the SAR module to previously hold the data indicating the relation between the IP address and the VCI/VPI, before sending the ATM cell to the ATM communication network.
With the above mentioned arrangement, since the segmentation and the reassembly of the IP packet can be executed in the SAR module, it is possible to reduce congestion of data between the SAR module and the processing unit, so that the processing time for the segmentation and the reassembly of the IP packet can be reduced.